package Year21_Month11.day1105;

public class Solution1 {
    //将数组分为和相等的三部分。
    public boolean canThreePartsEqualSum(int[] arr) {
        //首先排除和不为3的倍数的情况
        int sum = 0;//记录总和
        for(int i:arr){
            sum += i;
        }
        if(sum % 3 != 0){
            return false;
        }

        sum /= 3;
        int count = 0;//计数器，找到两段就返回
        int index = 0;//下标计数，防止 1 -1 1 -1这种坑爹情况
        int res = 0;//用来记录各段的值
        for(int i = 0; i < arr.length;i++){
            res += arr[i];
            if(res == sum){
                res = 0;
                count++;
            }
            index++;//记录下标
            if(count == 2 && index <= arr.length){
                return true;
            }
        }
        return false;
    }
}
